home *** CD-ROM | disk | FTP | other *** search
/ TeX 1995 July / TeX CD-ROM July 1995 (Disc 1)(Walnut Creek)(1995).ISO / tex-k / tex-k-archive.past / 1994.11.gz / 1994.11 / 000017_Yves.Arrouye@imag.fr_Thu Nov 3 11:29:37 1994.msg < prev    next >
Internet Message Format  |  1994-11-30  |  3KB

  1. Received: from imag.imag.fr by cs.umb.edu with SMTP id AA18118
  2.   (5.65c/IDA-1.4.4 for <tex-k@cs.umb.edu>); Thu, 3 Nov 1994 04:33:07 -0500
  3. Received: from petole.imag.fr by imag.imag.fr with SMTP id AA04928
  4.   (5.65c8/IDA-1.4.4 for <tex-k@cs.umb.edu>); Thu, 3 Nov 1994 10:32:58 +0100
  5. Received: by petole.imag.fr (NX5.67e/NX3.0S)
  6.     id AA05678; Thu, 3 Nov 94 10:29:37 +0100
  7. Date: Thu, 3 Nov 94 10:29:37 +0100
  8. From: Yves Arrouye <Yves.Arrouye@imag.fr>
  9. Message-Id: <9411030929.AA05678@petole.imag.fr>
  10. Received: by NeXT.Mailer (1.100)
  11. Received: by NeXT Mailer (1.100)
  12. To: tex-k@cs.umb.edu
  13. Subject: xdvik-18d PS corrections: sorry,uncorrect
  14.  
  15. Hello,
  16.  
  17. I did send the wrong patch for xdvik-18d: the @xdvisave code should be
  18.  
  19.     userdict /xdvi$sav save put
  20.     
  21. and not
  22.  
  23.     /xdvi$sav save def
  24.     
  25. Please find the *real* patch below. Sorry for the inconvenience.
  26. Yves.
  27.  
  28. diff -u --recursive xdvik-18d-orig/xdvik/psheader.txt xdvik-18d/xdvik/psheader.txt
  29. --- xdvik-18d-orig/xdvik/psheader.txt    Mon Oct 31 09:04:33 1994
  30. +++ xdvik-18d/xdvik/psheader.txt    Wed Nov  2 20:32:55 1994
  31. @@ -244,7 +244,8 @@
  32.  % to the current position on the page.
  33.  
  34.  
  35.  /@beginspecial          % - @beginspecial -     -- enter special mode
  36. -  { SDict begin
  37. +  { 
  38.  
  39. +    SDict begin
  40.      /SpecialSave save N
  41.      gsave
  42.      normalscale
  43. @@ -285,13 +286,28 @@
  44.      grestore SpecialSave restore
  45.      end
  46.    } N
  47. +
  48. +% xdvik special treatment for saving definitions made in SDict (while using
  49. +% the bang special; try to guarantee that the dictionary stack is ok!
  50. +%   xdvik should not systematically bracket code within save/restore pairs,
  51. +% anyway: such bracketing breaks a lot of code (many packages do change
  52. +% TeXDict from with ps: specials for instance) and we should only guarantee
  53. +% that bracketing is done within @beginspecial and @endspecial.  -- YA
  54. +
  55. +/@xdvisavestate
  56. +  {
  57. +    userdict /xdvi$sav save put
  58. +  } N
  59. +
  60.  /@defspecial
  61.    {
  62.      SDict begin
  63.    } N
  64. +
  65.  /@fedspecial
  66.    {
  67.      end
  68. +    @xdvisavestate
  69.    } B
  70.  
  71.  
  72.  %%% macros for tpic
  73. diff -u --recursive xdvik-18d-orig/xdvik/special.c xdvik-18d/xdvik/special.c
  74. --- xdvik-18d-orig/xdvik/special.c    Sat Oct  8 21:11:57 1994
  75. +++ xdvik-18d/xdvik/special.c    Tue Nov  1 12:17:44 1994
  76. @@ -711,7 +711,9 @@
  77.          /* Also raw PostScript, but no extra : to skip.  */
  78.  #if    PS
  79.          if (currwin.win == mane.win) {
  80. -          psp.drawbegin (currwin.base_x, currwin.base_y, cp);
  81. +          /* Don't forget to give the currentpoint - YA, 31 Oct 94 */
  82. +          psp.drawbegin (PXL_H - currwin.base_x, PXL_V - currwin.base_y,
  83. +          cp);
  84.            psp.drawend ("");
  85.          }
  86.  #endif
  87. @@ -850,6 +852,25 @@
  88.  
  89.  
  90.  
  91.  
  92.  static    void
  93. +bang_special(cp)
  94. +    char    *cp;
  95. +{
  96. +    bbox_valid = False;
  97. +
  98. +#if    PS
  99. +    if (currwin.win == mane.win) {
  100. +        psp.drawbegin(PXL_H - currwin.base_x, PXL_V - currwin.base_y,
  101. +            "@defspecial ");
  102. +        /* talk directly with the DPSHandler here */
  103. +        psp.drawraw(cp);
  104. +        psp.drawend(" @fedspecial");
  105. +    }
  106. +#endif
  107. +
  108. +    /* nothing else to do--there's no bbox here */
  109. +}
  110. +
  111. +static    void
  112.  quote_special(cp)
  113.      char    *cp;
  114.  {
  115. @@ -928,6 +949,7 @@
  116.      else if (strcmp(command, "PSf") == 0) epsf_special(cp);
  117.      else if (strcmp(command, "psf") == 0) epsf_special(cp);
  118.      else if (*orig_cp == '"') quote_special(orig_cp + 1);
  119. +    else if (*orig_cp == '!') bang_special(orig_cp + 1);
  120.      else if (!hush_spec_now)
  121.          Fprintf(stderr, "%s:  special \"%s\" not implemented\n", prog,
  122.          orig_cp);